[INFO] cloning repository https://github.com/burmudar/rust-grep
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/burmudar/rust-grep" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fburmudar%2Frust-grep", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fburmudar%2Frust-grep'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 17042fa7e29ac8d2733d8abd6b3efc12f2aefa9d
[INFO] checking burmudar/rust-grep against master#82310651b93a594a3fd69015e1562186a080d94c for pr-145770
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fburmudar%2Frust-grep" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/burmudar/rust-grep
[INFO] finished tweaking git repo https://github.com/burmudar/rust-grep
[INFO] tweaked toml for git repo https://github.com/burmudar/rust-grep written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/burmudar/rust-grep on toolchain 82310651b93a594a3fd69015e1562186a080d94c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/burmudar/rust-grep already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ac7555f679e966996414aa76c7755b70d6ab4185e4b0cec0969e23feb44e79ed
[INFO] running `Command { std: "docker" "start" "-a" "ac7555f679e966996414aa76c7755b70d6ab4185e4b0cec0969e23feb44e79ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ac7555f679e966996414aa76c7755b70d6ab4185e4b0cec0969e23feb44e79ed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ac7555f679e966996414aa76c7755b70d6ab4185e4b0cec0969e23feb44e79ed", kill_on_drop: false }`
[INFO] [stdout] ac7555f679e966996414aa76c7755b70d6ab4185e4b0cec0969e23feb44e79ed
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+82310651b93a594a3fd69015e1562186a080d94c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] daf130e6ec34fd013e587b471564a00675e23b5e837f7ff484c6c2ce43960343
[INFO] running `Command { std: "docker" "start" "-a" "daf130e6ec34fd013e587b471564a00675e23b5e837f7ff484c6c2ce43960343", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.48
[INFO] [stderr]    Compiling anyhow v1.0.68
[INFO] [stderr]    Compiling thiserror v1.0.38
[INFO] [stderr]     Checking bytes v1.3.0
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]    Compiling thiserror-impl v1.0.38
[INFO] [stderr]     Checking grep-starter-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: type `Matchers` is more private than the item `State::add_transition`
[INFO] [stdout]    --> src/dfa.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn add_transition(&mut self, to_state: State, matcher: Matchers) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `State::add_transition` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Matchers` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/dfa.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout] 41  | enum Matchers {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Matchers` is more private than the item `State::unshift_transition`
[INFO] [stdout]    --> src/dfa.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn unshift_transition(&mut self, to_state: State, matcher: Matchers) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `State::unshift_transition` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Matchers` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/dfa.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout] 41  | enum Matchers {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start_groups` and `end_groups` are never read
[INFO] [stdout]  --> src/dfa.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct State {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     start_groups: Vec<String>,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 9 |     end_groups: Vec<String>,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `State` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Character` and `Epsilon` are never constructed
[INFO] [stdout]   --> src/dfa.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | enum Matchers {
[INFO] [stdout]    |      -------- variants in this enum
[INFO] [stdout] 42 |     Character(PredicateFn),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 43 |     Epsilon,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Matchers` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_char`, `new_epsilon`, `matches`, `is_epsilon`, and `name` are never used
[INFO] [stdout]   --> src/dfa.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl Matchers {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 65 |     fn new_char(c: char) -> Matchers {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     fn new_epsilon() -> Matchers {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     fn matches(&self, input: &str, pos: usize) -> bool {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     fn is_epsilon(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     fn name(&self) -> &str {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EngineState` is never constructed
[INFO] [stdout]    --> src/dfa.rs:138:8
[INFO] [stdout]     |
[INFO] [stdout] 138 | struct EngineState {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NFAEngine` is never constructed
[INFO] [stdout]    --> src/dfa.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 | struct NFAEngine {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/dfa.rs:151:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | impl NFAEngine {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 151 |     fn new_with_states(initial: &str, states: &[&str]) -> NFAEngine {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     fn new(initial: &str) -> NFAEngine {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn state_len(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     fn has_state(&self, state: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     fn get_state(&self, name: &str) -> Option<&State> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     fn add_state(&mut self, state: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     fn add_states(&mut self, states: &Vec<String>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     fn declare_states_with_names(&mut self, names: &[&str]) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     fn set_initial_state(&mut self, state: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     fn set_ending_states(&mut self, states: &[&str]) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     fn is_ending_state(&self, state: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     fn add_transition(&mut self, from: &str, to: &str, matcher: Matchers) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     fn unshift_transition(&mut self, from: State, to: State, matcher: Matchers) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     fn compute(&self, input: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `State`
[INFO] [stdout]    --> src/dfa.rs:294:27
[INFO] [stdout]     |
[INFO] [stdout] 294 |     use super::{Matchers, State};
[INFO] [stdout]     |                           ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Matchers` is more private than the item `State::add_transition`
[INFO] [stdout]    --> src/dfa.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub fn add_transition(&mut self, to_state: State, matcher: Matchers) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `State::add_transition` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Matchers` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/dfa.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout] 41  | enum Matchers {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Matchers` is more private than the item `State::unshift_transition`
[INFO] [stdout]    --> src/dfa.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn unshift_transition(&mut self, to_state: State, matcher: Matchers) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `State::unshift_transition` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Matchers` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/dfa.rs:41:1
[INFO] [stdout]     |
[INFO] [stdout] 41  | enum Matchers {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start_groups` and `end_groups` are never read
[INFO] [stdout]  --> src/dfa.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct State {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     start_groups: Vec<String>,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 9 |     end_groups: Vec<String>,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `State` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_states`, `set_initial_state`, and `unshift_transition` are never used
[INFO] [stdout]    --> src/dfa.rs:183:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | impl NFAEngine {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 183 |     fn add_states(&mut self, states: &Vec<String>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     fn set_initial_state(&mut self, state: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     fn unshift_transition(&mut self, from: State, to: State, matcher: Matchers) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.31s
[INFO] running `Command { std: "docker" "inspect" "daf130e6ec34fd013e587b471564a00675e23b5e837f7ff484c6c2ce43960343", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "daf130e6ec34fd013e587b471564a00675e23b5e837f7ff484c6c2ce43960343", kill_on_drop: false }`
[INFO] [stdout] daf130e6ec34fd013e587b471564a00675e23b5e837f7ff484c6c2ce43960343
